﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Public;
using BUS;

namespace QuanLyKhoHangVatTu
{
    public partial class Kho : DevExpress.XtraEditors.XtraForm
    {
        Kho_BUS k_bus = new Kho_BUS();
        Kho_PB k_pb = new Kho_PB();
        public Kho()
        {
            InitializeComponent();
        }
        public Kho(string ma, string ten, string diachi)
        {
            InitializeComponent();
            txtMa.Text = ma;
            txtTen.Text = ten;
            txtDiaChi.Text = diachi;
            txtMa.Properties.ReadOnly = true;
        }

        private void Kho_Load(object sender, EventArgs e)
        {
            if (Flag_PB.ThemSua == 1)
            {
                txtMa.ResetText();
                txtTen.ResetText();
                txtDiaChi.ResetText();
            }
            if (Flag_PB.ThemSua == 2)
            {
                txtMa.Text = Kho_PB.MaKho;
                txtTen.Text = Kho_PB.TenKho;
                layoutDiaChi.Text = Kho_PB.DiaChi;
                txtMa.Properties.ReadOnly = true;
            }
        }

        #region "Lấy giá trị từ textbox"
        private Kho_PB GetValues()
        {
            Kho_PB.MaKho = txtMa.Text;
            Kho_PB.TenKho = txtTen.Text;
            Kho_PB.DiaChi = txtDiaChi.Text;
            return k_pb;
        }
        #endregion

        #region "Kiểm tra rỗng"
        private bool ChecksData()
        {
           
            if (txtMa.Text == string.Empty)
            {
                txtMa.ErrorText = "Mã kho không được trống";
                return false;
            }
            if (txtTen.Text == string.Empty)
            {
                txtTen.ErrorText = "Tên kho không được trống";
                return false;
            }

            if (k_bus.Exists(txtMa.Text))
            {
                if (Flag_PB.Sua == true)
                {
                    Flag_PB.Sua = false;
                    return true;

                }
                txtMa.ErrorText = "Mã trùng";
                return false;
            }
            return true;
        }
        #endregion

        private void btnLuu_Click(object sender, EventArgs e)
        {
            GetValues();
            if (ChecksData())
            {
                //if (Flag_PB.ThemSua == 1)
                //{
                    try
                    {
                        k_bus.ThemSuaKho(k_pb);
                    }
                    catch (Exception ex)
                    {
                        if (ex.Message.Contains(" data would be truncated"))
                            XtraMessageBox.Show("Vượt quá ký tự cho phép", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                //}
                //if (Flag_PB.ThemSua == 2)
                //{
                //    k_bus.SuaKho(k_pb);
                //}
                //DialogResult = DialogResult.OK;
                this.Close();
            }
            //else
            //{
            //    MessageBox.Show("Mã/Tên không được bỏ trống","Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Warning);
            //    return;
            //}


        }

        private void btnLuuThem_Click(object sender, EventArgs e)
        {
            txtMa.Properties.ReadOnly = false;
            GetValues();
            if (ChecksData())
            {
                //if (Flag_PB.ThemSua == 1)
                //{
                try
                {
                    k_bus.ThemSuaKho(k_pb);
                    txtMa.ResetText();
                    txtTen.ResetText();
                    txtDiaChi.ResetText();
                    if (this.Tag != null)
                    {
                        IChildForm iChildForm = this.Tag as IChildForm;
                        if (iChildForm != null)
                            iChildForm.Nap();
                    }
                }
                catch (Exception ex)
                {
                    if (ex.Message.Contains(" data would be truncated"))
                        XtraMessageBox.Show("Vượt quá ký tự cho phép", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                //}
                //if (Flag_PB.ThemSua == 2)
                //{
                //    txtMa.ReadOnly = false;
                //    k_bus.SuaKho(k_pb);
                //    Flag_PB.ThemSua = 1;
                //}
            }
            else
            {
                MessageBox.Show("Mã/Tên không được bỏ trống", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}